The present invention relates to an image displaying system for interactively changing the positions of a view vector and a viewpoint in a 3-dimensional space of a camera model which displays, objects on a screen of a geometric model constructed within a computer in the computer assisted design (CAD) and science art simulation field.
In recent years, image displaying systems have been used in various designs and simulations as a tool for visualizing phenomena that are difficult to express by text and numerical values using a realistic screen display so as to effect communication between a computer and a human being.
One example of the above described conventional image displaying system is described hereinafter with reference to the drawings. FIG. 12 is one example of a conventional screen displaying system. Referring to FIG. 12, a camera data inputting portion 1201 is adapted to input 3-dimensional data indicating the amount of displacement of viewpoint and a view vector direction, and is composed of a keyboard. In FIG. 12 , a view vector memory portion 1202 is adapted to store the 3-dimensional information of a view vector and is composed of read-write memories. A view vector computing portion 1203 is adapted to compute the 3-dimensional data of a new view vector from the amount of displacement amount of the view vector which has been inputted by the camera data inputting portion 1201. A geometric data storing portion 1204 is adapted to store the 3-dimensional object data of a geometric model and is composed of read-write memories. A geometric coordinate converting portion 1205 is adapted to apply a coordinate conversion to the 3-dimensional object data of the geometric model read from the geometric data storing portion 1204 using the 3-dimensional data of the new view vector computed from the view vector computing portion 1203. A pixel intensity computing portion 1206 is adapted to compute a pixel intensity of each pixel on a display screen from the 3-dimensional data obtained from the geometric coordinate conversion portion.
The operating of the image displaying system constructed as described hereinabove is described hereinafter.
The 3-dimensional form data of objects which becomes objects to be displayed on the screen is stored in the geometric data storing portion 1204. The 3-dimensional value of each vertex of the sets of polygons representing the object surface, for example, is stored as 3-dimensional geometric data.
Stored geometric data is subjected to a coordinate conversion in the geometric coordinate converting portion 1205 using the view vector defined by the 3-dimensional data representing the viewpoint and the direction, and visualized on the display screen in accordance with the brightness computed in the pixel intensity computing portion 1206.
As the 3-dimensional data representing the viewpoints, there are 3-dimensional values (x, y, z) in, for example, a world coordinate system. As the 3-dimensional data representing the direction of the view vector, there are the 3-dimensional, coordinates (X, Y, Z) in numerical values of the target point in, for example, the world coordinate system, and the angle data (.theta., .phi.) composed of horizontal angle data in the xz plane of the world coordinate system and vertical angle data formed with the xz plane and the y axis.
In order to change the position of the viewpoint, the 3-,dimensional numerical values (x', y', z') of the new viewpoint are inputted in the camera data input portion 1201, and are stored in the view vector memory portion 1202.
In order to change the view vector direction, the data of the 3-dimensional amount of displacement of the view vector direction is inputted in numerical values to the camera data inputting portion 1201. As the 3-dimensional displacement amount, there is the displacement amount data (.DELTA..theta., .DELTA..phi.)) expressed in the, for example, the change .DELTA..phi. in horizontal angles, and the change .DELTA..phi. in the vertical angles, in the world coordinate system.
In order to change the viewpoint in the view vector computing portion 1203, a new view vector is computed with the new viewpoint coordinates (x', y', z') read as the 3-dimensional data representing the new viewpoint from the view vector memory portion 1202 and the target points (X, Y, Z).
In order to change the view vector direction, thecomponents of the angle data of the displacement amount data (.DELTA..theta., .DELTA..phi.) are read as the 3-dimensional data representing the new view vector direction from the view vector memory portion 1202 to each angle data component of the angle data (.theta., .phi.) read as the 3-dimensional data representing the existing view vector direction from the view vector memory portion 1202 so as to compute. The new view vector to be expressed by the new view vector direction data (.theta.+.DELTA..theta., .phi.+.DELTA..phi.) obtained by the addition thereof.
In the geometric coordinate converting portion 1205, the 3-dimensional geometric data is subjected to a coordinate conversion using the new view vector computed in the view vector computing portion 1203. As the coordinate conversion, there are, for example, the conversion into the viewpoint coordinate system with the viewpoint being an origin through the world coordinate system from the geometric data definition coordinate system, and the perspective conversion.
Finally, the object data within a frustum is determined from the 3-dimensional geometric data which has been coordinate converted in the geometric coordinate converting portion 1205 and from data from the pixel intensity computing portion 1206 so as to compute the brightness for each pixel of the display screen from the light source and the 3-dimensional data obtained from the geometric coordinate converting portion. As a method of determining the object data within the frustum, there are, for example, hidden vector processing and hidden screen processing.
In order to change the view vector direction and the viewpoint in the above described construction, the user himself if is always required to input the 3-dimensional positions of the viewpoint, the target point, and the view vector direction in the displacement amount with the numerical values, considering the 3-dimensional space within the computer system where the position of the viewpoint and the view vector direction to be defined so as to display the described scene. Thus, there are problems in that the desired scene cannot be displayed unless trial and error are repeated, and there are problems in that it is difficult to predict the view vector in the animation display in the specified frames inserted among the key frames.